package org.b.a.a.a;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import org.b.a.a.c;

public final class d
{
  private static final Object a = new Object();
  private static String[] b;
  private static final Method c=null;
  private static final Method d=null;
  private static Class e;

  static
  {
    String[] arrayOfString = new String[12];
    arrayOfString[0] = "getCause";
    arrayOfString[1] = "getNextException";
    arrayOfString[2] = "getTargetException";
    arrayOfString[3] = "getException";
    arrayOfString[4] = "getSourceException";
    arrayOfString[5] = "getRootCause";
    arrayOfString[6] = "getCausedByException";
    arrayOfString[7] = "getNested";
    arrayOfString[8] = "getLinkedException";
    arrayOfString[9] = "getNestedException";
    arrayOfString[10] = "getLinkedCause";
    arrayOfString[11] = "getThrowable";
    b = arrayOfString;
//    try
//    {
//      if (e == null)
//      {
//        localObject = b("java.lang.Throwable");
//        e = (Class)localObject;
//        localMethod = ((Class)localObject).getMethod("getCause", null);
//        localObject = localMethod;
//        label112: c = (Method)localObject;
//      }
//    }
//    catch (Exception localException1)
//    {
//      try
//      {
//        Method localMethod;
//        label132: String str;
//        Class[] arrayOfClass;
//        int i;
//        Class localClass;
//        if (e == null)
//        {
//          localObject = b("java.lang.Throwable");
//          e = (Class)localObject;
//          str = "initCause";
//          arrayOfClass = new Class[1];
//          i = 0;
//          if (e != null)
//            break label205;
//          localClass = b("java.lang.Throwable");
//          e = localClass;
//        }
//        while (true)
//        {
//          arrayOfClass[i] = localClass;
//          localMethod = ((Class)localObject).getMethod(str, arrayOfClass);
//          localObject = localMethod;
//          d = (Method)localObject;
//          return;
//          localObject = e;
//          break;
//          localException1 = localException1;
//          localObject = null;
//          break label112;
//          localObject = e;
//          break label132;
//          label205: localClass = e;
//        }
//      }
//      catch (Exception localException2)
//      {
//        while (true)
//          Object localObject = null;
//      }
//    }
  }

  public static Throwable a(Throwable paramThrowable)
  {
    synchronized (a)
    {
      String[] arrayOfString = b;
      Throwable localThrowable = a(paramThrowable, arrayOfString);
      return localThrowable;
    }
  }

  // ERROR //
  private static Throwable a(Throwable paramThrowable, String paramString)
  {
	return null;
    // Byte code:
    //   0: aload_0
    //   1: invokevirtual 89	java/lang/Object:getClass	()Ljava/lang/Class;
    //   4: aload_1
    //   5: aconst_null
    //   6: invokevirtual 64	java/lang/Class:getMethod	(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    //   9: astore_2
    //   10: aload_2
    //   11: astore_3
    //   12: aload_3
    //   13: ifnull +81 -> 94
    //   16: getstatic 53	org/b/a/a/a/d:e	Ljava/lang/Class;
    //   19: ifnonnull +65 -> 84
    //   22: ldc 55
    //   24: invokestatic 58	org/b/a/a/a/d:b	(Ljava/lang/String;)Ljava/lang/Class;
    //   27: astore 4
    //   29: aload 4
    //   31: putstatic 53	org/b/a/a/a/d:e	Ljava/lang/Class;
    //   34: aload_3
    //   35: invokevirtual 94	java/lang/reflect/Method:getReturnType	()Ljava/lang/Class;
    //   38: astore 5
    //   40: aload 4
    //   42: aload 5
    //   44: invokevirtual 98	java/lang/Class:isAssignableFrom	(Ljava/lang/Class;)Z
    //   47: ifeq +47 -> 94
    //   50: getstatic 103	org/b/a/a/f:a	[Ljava/lang/Object;
    //   53: astore 6
    //   55: aload_3
    //   56: aload_0
    //   57: aload 6
    //   59: invokestatic 109	SmaliHook:invokeHook	(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    //   62: checkcast 111	java/lang/Throwable
    //   65: astore_0
    //   66: aload_0
    //   67: astore_3
    //   68: aload_3
    //   69: areturn
    //   70: astore 7
    //   72: aconst_null
    //   73: astore_3
    //   74: goto -62 -> 12
    //   77: astore 8
    //   79: aconst_null
    //   80: astore_3
    //   81: goto -69 -> 12
    //   84: getstatic 53	org/b/a/a/a/d:e	Ljava/lang/Class;
    //   87: astore 4
    //   89: goto -55 -> 34
    //   92: astore 9
    //   94: aconst_null
    //   95: astore_3
    //   96: goto -28 -> 68
    //   99: astore 10
    //   101: goto -7 -> 94
    //   104: astore 11
    //   106: goto -12 -> 94
    //
    // Exception table:
    //   from	to	target	type
    //   0	10	70	java/lang/NoSuchMethodException
    //   0	10	77	java/lang/SecurityException
    //   50	66	92	java/lang/reflect/InvocationTargetException
    //   50	66	99	java/lang/IllegalArgumentException
    //   50	66	104	java/lang/IllegalAccessException
  }

  private static Throwable a(Throwable paramThrowable, String[] paramArrayOfString)
  {
	return null;
//    ??? = null;
//    Throwable localThrowable1;
//    if (paramThrowable == null)
//      localThrowable1 = null;
//    while (true)
//    {
//      return localThrowable1;
//      if (!(paramThrowable instanceof a))
//        break;
//      localThrowable1 = ((a)paramThrowable).getCause();
//      label27: if (localThrowable1 != null)
//        continue;
//      if (paramArrayOfString != null)
//        break label169;
//    }
//    while (true)
//    {
//      Object localObject5;
//      synchronized (a)
//      {
//        localObject5 = b;
//        ??? = localObject5;
//        Throwable localThrowable2 = 0;
//        localObject5 = localThrowable1;
//        localThrowable1 = localThrowable2;
//        Throwable localThrowable3 = ???.length;
//        if (localThrowable1 < localThrowable3)
//        {
//          String str = ???[localThrowable1];
//          if (str == null)
//            continue;
//          localObject5 = a(paramThrowable, str);
//          if (localObject5 == null)
//          {
//            int i;
//            localThrowable1 += 1;
//            continue;
//            if (!(paramThrowable instanceof SQLException))
//              continue;
//            Object localObject2 = ((SQLException)paramThrowable).getNextException();
//            break label27;
//            if (!(paramThrowable instanceof InvocationTargetException))
//              continue;
//            localObject2 = ((InvocationTargetException)paramThrowable).getTargetException();
//            break label27;
//            localObject2 = null;
//          }
//        }
//      }
//      for (Object localObject4 = localObject5; ; localObject4 = localObject5)
//      {
//        if (localObject4 != null)
//          break label167;
//        localObject4 = b(paramThrowable, "detail");
//        break;
//      }
//      label167: break;
//      label169: ??? = paramArrayOfString;
//    }
  }

  public static void a(List paramList1, List paramList2)
  {
//    if ((paramList1 == null) || (paramList2 == null))
//      throw new IllegalArgumentException("The List must not be null");
//    int i = paramList1.size() - 1;
//    int j = paramList2.size() - 1;
//    int m;
//    for (int k = i; (k >= 0) && (j >= 0); k = m)
//    {
//      String str1 = (String)paramList1.get(k);
//      String str2 = (String)paramList2.get(j);
//      if (str1.equals(str2))
//        Object localObject = paramList1.remove(k);
//      m = k + -1;
//      j += -1;
//    }
  }

  public static boolean a()
  {
    if (c != null);
    for (int i = 1; ; i = 0)
      return true;
  }

  static String[] a(String paramString)
  {
//    String str1 = c.a;
//    StringTokenizer localStringTokenizer = new StringTokenizer(paramString, str1);
    ArrayList localArrayList = new ArrayList();
//    while (localStringTokenizer.hasMoreTokens())
//    {
//      String str2 = localStringTokenizer.nextToken();
//      boolean bool = localArrayList.add(str2);
//    }
    String[] arrayOfString = new String[localArrayList.size()];
    return (String[])localArrayList.toArray(arrayOfString);
  }

  private static Class b(String paramString)
  {
    String str;
    try
    {
      Class localClass = Class.forName(paramString);
      return localClass;
    }
    catch (ClassNotFoundException localClassNotFoundException)
    {
      str = localClassNotFoundException.getMessage();
    }
    throw new NoClassDefFoundError(str);
  }

  // ERROR //
  private static Throwable b(Throwable paramThrowable, String paramString)
  {
	return null;
    // Byte code:
    //   0: aload_0
    //   1: invokevirtual 89	java/lang/Object:getClass	()Ljava/lang/Class;
    //   4: aload_1
    //   5: invokevirtual 199	java/lang/Class:getField	(Ljava/lang/String;)Ljava/lang/reflect/Field;
    //   8: astore_2
    //   9: aload_2
    //   10: astore_3
    //   11: aload_3
    //   12: ifnull +74 -> 86
    //   15: getstatic 53	org/b/a/a/a/d:e	Ljava/lang/Class;
    //   18: ifnonnull +58 -> 76
    //   21: ldc 55
    //   23: invokestatic 58	org/b/a/a/a/d:b	(Ljava/lang/String;)Ljava/lang/Class;
    //   26: astore 4
    //   28: aload 4
    //   30: putstatic 53	org/b/a/a/a/d:e	Ljava/lang/Class;
    //   33: aload_3
    //   34: invokevirtual 204	java/lang/reflect/Field:getType	()Ljava/lang/Class;
    //   37: astore 5
    //   39: aload 4
    //   41: aload 5
    //   43: invokevirtual 98	java/lang/Class:isAssignableFrom	(Ljava/lang/Class;)Z
    //   46: ifeq +40 -> 86
    //   49: aload_3
    //   50: aload_0
    //   51: invokevirtual 207	java/lang/reflect/Field:get	(Ljava/lang/Object;)Ljava/lang/Object;
    //   54: checkcast 111	java/lang/Throwable
    //   57: astore_0
    //   58: aload_0
    //   59: astore_3
    //   60: aload_3
    //   61: areturn
    //   62: astore 6
    //   64: aconst_null
    //   65: astore_3
    //   66: goto -55 -> 11
    //   69: astore 7
    //   71: aconst_null
    //   72: astore_3
    //   73: goto -62 -> 11
    //   76: getstatic 53	org/b/a/a/a/d:e	Ljava/lang/Class;
    //   79: astore 4
    //   81: goto -48 -> 33
    //   84: astore 8
    //   86: aconst_null
    //   87: astore_3
    //   88: goto -28 -> 60
    //   91: astore 9
    //   93: goto -7 -> 86
    //
    // Exception table:
    //   from	to	target	type
    //   0	9	62	java/lang/NoSuchFieldException
    //   0	9	69	java/lang/SecurityException
    //   49	58	84	java/lang/IllegalArgumentException
    //   49	58	91	java/lang/IllegalAccessException
  }
}

/* Location:           E:\AndroidDecompiler\jd-gui-0.3.3.windows\newrclasses.dex.dex2jar.jar
 * Qualified Name:     org.b.a.a.a.d
 * JD-Core Version:    0.6.0
 */